package 每日一题OJ;

/**
 * @author shy_black
 * @date 2019/8/21 9:26
 * @Description:
 */
public class _179_最大数 {
    class Solution {
        public String largestNumber(int[] arr) {
            String[] s = new String[arr.length];

            //使用冒泡排序的思路，，借助String的compareTo()方法，
            //比较arr[j]与arr[j+1]的先后顺序，将大的放在左边
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr.length - i - 1; j++) {
                    String s1 = arr[j] + "" + arr[j + 1];
                    String s2 = arr[j + 1] + "" + arr[j];

                    if (s1.compareTo(s2) < 0) {
                        int tmp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = tmp;
                    }
                }
            }
            //这里要注意，在StringBuilder转为String时，
            //使用String s = ""+ StringBuilder;即可
            StringBuilder res = new StringBuilder();
            for (int i : arr) {
                res.append(i);
            }
            //如果追加的字符串的第一个元素就是‘0’，大可以直接返回“0”
            if (res.charAt(0) == '0')
                return "0";
            String a = "" + res;
            return a;
        }


    }
}
